home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / BBS / GCHAT140.ARJ / GCHAT.DOC next >
Text File  |  1992-02-12  |  17KB  |  367 lines

  1. ------------------------------------------------------------------------------
  2.   Generic Split Screen Chat Utility 1.40                       Wed 12 Feb 92
  3.   Copyright 1992 by Chris Patterson, All Rights Reserved
  4. ------------------------------------------------------------------------------
  5.  
  6. GCHAT is my solution to the split-screen chat problem.  Every time I get a new
  7. chat program promising to the best program I have ever used, I find notices to
  8. register the program, delays and annoying beeps and whistles.  Well, I finally
  9. had enough of the crap and wrote my own.
  10.  
  11. GCHAT should work with any BBS that has a FOSSIL driver loaded.  All of the
  12. options are passed on the command line, making it easy to work with almost any
  13. system out there.
  14.  
  15. GCHAT has it's own internal ANSI and AVATAR terminal decoding functions.  The
  16. entire package is written using my own QwikTools programming library for C
  17. programmers.  No other libraries other than the Borland RTL were used.  The
  18. QwikTools library will soon be available for all C programmers to use and is
  19. very powerful for creating DOS applications quickly.
  20.  
  21. GCHAT DOES NOT PAGE THE SYSTEM OPERATOR!!!  Do not use GCHAT as a menu exit
  22. which is available to users.  The program goes immediately into chat mode
  23. without checking to see if the sysop is around, etc.  It was written to be
  24. used with the RA 1.1x external chat command line.  If you have an unregistered
  25. RemoteAccess, this option is not available and you need to register to use it.
  26. I may add the ability to page the sysop at a later date, however, I doubt it
  27. since I use the program with RA 1.11+.  If enough people ask about it, I may
  28. sit down a write the code to do it.
  29.  
  30. If you do not have RemoteAccess registered, you can use it with a function
  31. key exit.  See the manual on how to setup an Alt-Fn key to run an external
  32. program.
  33.  
  34. GCHAT includes the following great, easy to use features:
  35.  
  36.         * Full split-screen chat mode with ANSI support
  37.  
  38.         * Regular line oriented chat mode for non-ANSI callers
  39.  
  40.         * Word wrap at the end of text lines in both modes
  41.         
  42.         * The ability to clear the individual chat windows with
  43.           a single keystroke (Ctrl-L)
  44.  
  45.         * The user and sysop names can be displayed in the lines
  46.           which divide the chat areas in full-screen mode
  47.  
  48.         * User can exit chat when abandoned by the sysop (Ctrl-X)
  49.           (removed in 1.30+)
  50.  
  51. New features for 1.10 include:
  52.         
  53.         * AVATAR/0+ support
  54.  
  55.         * Chat windows scroll line-by-line in AVATAR mode for 
  56.           smoother conversations
  57.  
  58.         * On-screen clock in full-screen chat modes gives local
  59.           time of day
  60.  
  61. New features for 1.20 include:
  62.  
  63.         * Both SysOp and User screens look identical now, with either
  64.           side having their text displayed on the bottom and the session
  65.           partner on the top of the screen.  This provides a more even
  66.           thought pattern, and makes it so that the user does not have
  67.           to adjust between being on the top or bottom depending on 
  68.           whether they are calling or answering.
  69.  
  70.         * The wordwrap code has changed and now all text in the chat 
  71.           window is maintained internally.  There should be no more
  72.           problems with straggled characters.
  73.  
  74.         * ANSI mode callers now have scrolling equal to two-thirds of
  75.           the chat window for easier reading.
  76.  
  77.         * DESQview aware.  If the program is waiting for input,the 
  78.           program will give away time-slices to the other processes 
  79.           which are running.  I have not tested this code in this
  80.           program, however, I tested it in a simpler test program
  81.           using QEMM 6.02 and DESQview 2.42 and it worked without
  82.           blowing up.
  83.  
  84. New features in 1.30 include:
  85.         
  86.         * ALT-J Shell To DOS feature for sysop use.  Allows sysop to 
  87.           exit to dos without exiting the chat mode.  Full-screen redraw
  88.           is performed on return, leaving chat text intact.
  89.  
  90.         * Program will swap to EMS/XMS/Disk when ALT-J is hit, allowing
  91.           maximum available memory for DOS usage.
  92.  
  93.         * Screen redraw in case of line noise (Ctrl-R, sysop OR user)
  94.  
  95.         * Pressing ALT-A on sysop or user (via DOORWAY mode) will set
  96.           the current emulation mode to ANSI while in chat mode only.
  97.           If a user is calling with a non-AVT/0+ compliant program 
  98.           (such as Qmodem), they can switch it to ANSI for the scroll
  99.           functions to work right.
  100.  
  101.         * Pressing ALT-V on sysop or user (via DOORWAY mode) will set
  102.           the current emulation mode to AVATAR while in chat mode.
  103.           Note that this will only work if AVATAR was originally the
  104.           emulation used on startup.  
  105.  
  106.         * There were several problems with the ANSI and AVATAR color
  107.           routines that were introduced in version 1.20 that have now
  108.           been fixed.  All of the colors should appear correct in this
  109.           new version.
  110.         
  111.         * File logging of chat sessions is now available.  This log
  112.           style is compatible with that used by RA, FD, GECHO, etc.
  113.           The log is appended to if it already exists.  The logging
  114.           can be toggled on/off by using the ALT-L key.  An indicator
  115.           is displayed on the sysop side only.
  116.  
  117.         * The sysop can switch between the sysop and user chat window
  118.           using the ALT-W combination.  This is fun for playing tricks
  119.           on users, such as stuffing in bad keys to create spelling
  120.           errors, etc.  But in the end, it will allow the sysop to edit
  121.           the user's chat portion of the screen with the arrow keys so
  122.           that while a user and sysop are discussing a piece of code or
  123.           something, the sysop does not have to retype, etc.  Quoting
  124.           is also going to be added I think...
  125.  
  126. New features for 1.31 include:
  127.  
  128.         * Fixed the bug which occurred if a user had only AVATAR codes
  129.           on without ANSI codes.  The program now works correctly for 
  130.           users with only AVATAR (2) turned on.
  131.  
  132. New features for 1.40 include:
  133.  
  134.         * Help screen to instruct users on which keys are available while
  135.           using GCHAT.
  136.  
  137.         * Fixed a display problem with the ANSI/AVT && AVATAR indicators.
  138.  
  139.         * Removed FOSSIL detection and only use the FOSSIL initialization
  140.           call to determine if the program can continue, since the detect
  141.           routine always dies when using DESQview.
  142.  
  143.         * GChat will use the current baud rate if no baud rate is specified.
  144.           This option will work in most cases, however, your application
  145.           may be different.  (It works with RA 1.1x)
  146.  
  147.         * The program can now read the DORINFO1.DEF file (RBBS-style) which
  148.           is created by RemoteAccess before running an external application.
  149.           The board name, sysop name, user name, user location, modem port,
  150.           and graphics mode are read from this file.
  151.  
  152.         * Support for the RemoteAccess 1.1x EXITINFO.BBS file is added.
  153.           GChat can now obtain the user's name, location, and screen length
  154.           without command line parameters.
  155.  
  156.         * The program can now read the RA 1.1x configuration files.  The
  157.           sysop name, board name, etc. can be read from the RA configuration
  158.           files.
  159.  
  160.         * GChat can now be used with any length screen display.  If the user
  161.           has specified a screen length longer than the local screen can
  162.           support, the length will be limited to that of the local screen.
  163.  
  164.         * If GChat is brought up with a com port of 0 or a baud rate of 0,
  165.           it will startup in LOCAL mode without making any calls to the 
  166.           FOSSIL driver.  So now you can chat to yourself while logged in
  167.           using local mode.
  168.  
  169.         * Digraph compression.  Digraphs are two characters which have a
  170.           single sound.  In the upper-128 bytes of the IBM character set,
  171.           all of the foriegn language characters can be constructed using
  172.           digraphs.  By pressing the <Ctrl-D> key after entering a two-
  173.           character digraph, if there is a foriegn language symbol for that
  174.           combination, it will be replaced automatically.  See below for a
  175.           table consisting of all of the digraph combinations supported.
  176.  
  177.         * The sysop can disconnect the user by pressing Alt-H.  Note that
  178.           this will only work if the sysops modem is setup to hangup the
  179.           modem when the DTR is lowered.
  180.  
  181.  
  182. To run GCHAT, use the following options:
  183.  
  184.         B<baud rate>
  185.                 Baud Rate - The speed in which the connection is
  186.                 currently established.  If you are using a locked
  187.                 baud rate, use the locked baud rate here.  Otherwise,
  188.                 use the *B macro (RA, QBBS) to pass the baud rate
  189.  
  190.         P<com port>
  191.                 Com Port - The com port to use.  Can be passed using
  192.                 the *P macro from RA or QBBS (others?).
  193.  
  194.         A<0|1|2|3>
  195.                 ANSI Graphics Mode - the mode in which the program
  196.                 should operation.  The *G macro (RA,QBBS) includes
  197.                 this information.  Supported modes are:
  198.  
  199.                         0=text
  200.                         1=ANSI
  201.                         2=AVATAR
  202.                         3=ANSI & AVATAR (uses AVATAR codes)
  203.  
  204.         "N<full user name>"
  205.                 The name of the user who is logged on the BBS.  This
  206.                 can be done with "N*F *L" in RA,QBBS to include the
  207.                 first and last name of the user on the screen bars.
  208.  
  209.         "S<sysop name>"
  210.                 The name of the system operator.  This is usually just
  211.                 hard coded on the command line.
  212.  
  213.         L<filename.ext>
  214.                 Log file name.  If specified, the log file will be opened
  215.                 for append and the chat session will be logged, including
  216.                 a starting and ending time stamp.
  217.  
  218.         R<lines>
  219.                 Set the numbers of rows on the chat screen.  The default
  220.                 is 23.  If the number of lines exceeds the capabilities
  221.                 of the local display, the chat screen length will be
  222.                 confined to the local screen length.
  223.  
  224.         D
  225.                 Read configuration from DORINFO1.DEF file if it exists.
  226.  
  227.         E
  228.                 Extract configuration from the RemoteAccess 1.1x files
  229.                 such as CONFIG.RA and EXITINFO.BBS, etc.  By using the
  230.                 E parameter, GChat will obtain as much information as
  231.                 possible from the existing RemoteAccess configuration.
  232.                 This option will read the users page length and adjust
  233.                 the screen chat length accordingly.
  234.  
  235. That pretty much sums it up.  A few examples:
  236.  
  237.         RemoteAccess 1.1x, configured as the external chat utility in
  238.         RACONFIG->Options->Paging->External:
  239.  
  240.                 GCHAT.EXE P*P B*B A*G "N*F *L" "SChris Patterson"
  241.  
  242.         Or for a locked baud rate:
  243.  
  244.                 GCHAT.EXE P*P B38400 A*G "N*F *L" "SChris Patterson"
  245.  
  246.         Or to allow the program to use the current baud settings:
  247.                 
  248.                 GCHAT.EXE P*P A*G "N*F *L" "SSysop Name"
  249.  
  250.         Or the simplest approach, uses DORINFO1.DEF and EXITINFO.BBS:
  251.  
  252.                 GCHAT.EXE D E
  253.  
  254. ------------------------------------------------------------------------------
  255.                                 Digraph Table
  256. ------------------------------------------------------------------------------
  257.  
  258. The digraphs shown below are created by entering the two chars shown and 
  259. pressing <Ctrl-D>.  The two chars are replaced with the single foreign 
  260. language character.
  261.  
  262.         Chars   Result          Chars   Result          Chars   Result
  263.  
  264.         u"      ü               e'      é               a^      â
  265.         a"      ä               a`      à               ao      å
  266.         e^      ê               e"      ë               e`      è
  267.         i"      ï               i^      î               i`      ì
  268.         A"      Ä               Ao      Å               E'      É
  269.         AE      Æ               o^      ô               o"      ö
  270.         o`      ò               u^      û               u`      ù
  271.         y"      ÿ               O"      Ö               U"      Ü
  272.         Pt      ₧               a'      á               i'      í
  273.         o'      ó               u'      ú               n~      ñ
  274.         N~      Ñ               C,      Ç               c,      ç
  275.         o/      φ               <<      «               >>      »
  276.         !!      ¡               ??      ¿               12      ½
  277.         14      ¼               a-      ª               o-      º
  278.         Y=      ¥               96      æ               C|      ¢ 
  279.         L-      £               f-      ƒ               =-      ≡ 
  280.         +-      ±               >=      ≥               <=      ≤ 
  281.         :-      ÷               ~~      ≈
  282.  
  283. ------------------------------------------------------------------------------
  284.  
  285. GCHAT is a free program.  I don't care what you use it for, as long as you
  286. do NOT try to sell it as your own.  I retain all rights to the program and
  287. it's source code.  No FEE's may be charged for it's distribution either. 
  288. Either allow people to access it for free, or don't have it online.  Simple.
  289.  
  290. GCHAT is provided as-is.  No warranties are expressed or implied.  If it 
  291. does not work for you, that's tough.  I didn't write it for you.  I wrote
  292. it for myself, and am allowing everyone who wishes to use it, that chance.
  293. I do not guarantee that GCHAT is for you.
  294.                 
  295. ------------------------------------------------------------------------------
  296.                            How to reach the author
  297. ------------------------------------------------------------------------------
  298.  
  299.                 Chris Patterson, SysOp
  300.                 The Developers Network
  301.                 1-918-251-6252 v.32bis/HST supported
  302.                 24 hours daily
  303.                 Broken Arrow, Oklahoma USA
  304.                 1:170/301@fidonet (CM,XA)
  305.  
  306. ------------------------------------------------------------------------------
  307.   Please send any program suggestions or bug reports via NetMAIL to the above
  308.   address.  If you do not have access to NetMAIL, then logon as a user and
  309.   leave a comment to the sysop.
  310. ------------------------------------------------------------------------------
  311. ******************************************************************************
  312.   If you are a shareware author, and you use this program, please consider
  313.   sending registered versions of your software to the author of this program
  314.   as a gesture of good faith.  Thank you.
  315. ------------------------------------------------------------------------------
  316. HISTORY:
  317.  
  318.         23 Jan 92 - 1.00
  319.         ----------------
  320.         Initial program release.
  321.  
  322.         27 Jan 92 - 1.10
  323.         ----------------
  324.         Added AVATAR, clock and fixed a few small bugs
  325.  
  326.         27 Jan 92 - 1.20
  327.         ----------------
  328.         Rewrote the entire program from scratch, using a new method.
  329.  
  330.         03 Feb 92 - 1.30
  331.         ----------------
  332.         Drop To DOS Added (wEMS/XMS/DISK swapping), fixed many ANSI
  333.         bugs, some AVATAR bugs, added limited DOORWAY support, file
  334.         logging.
  335.  
  336.         05 Feb 92 - 1.31
  337.         ----------------
  338.         Fixed the bug with the AVATAR only *G macro (2).
  339.  
  340.         06 Feb 92 - 1.40.01b
  341.         --------------------
  342.         Fixed the ansi mode display bug, added help screen, cleaned
  343.         up some FOSSIL check code, removed FORCE option, made init
  344.         call the check.
  345.  
  346.         10 Feb 92 - 1.40.02b
  347.         --------------------
  348.         Added support for reading DORINFO1.DEF and EXITINFO.BBS by new
  349.         parameters on the command line.  
  350.         
  351.         11 Feb 92 - 1.40.03b
  352.         --------------------
  353.         Added digraph support, more help screen features, few fixes
  354.         with the program here and there.
  355.  
  356.         11 Feb 92 - 1.40.04b
  357.         --------------------
  358.         Added Alt-H to hangup.  Added new QT.LIB for more ANSI/AVT 
  359.         support (internal).  More digraphs added.
  360.  
  361.         12 Feb 92 - 1.40
  362.         ----------------
  363.         Release version with above changes.
  364.  
  365. ------------------------------------------------------------------------------
  366.  
  367.